1. Field
The present disclosure relates generally to dynamic networks and, in particular, to the interactions of plural nodes on dynamic networks. Still more particularly, the present disclosure relates to a method and apparatus for performing dynamic data analysis on a dynamic network that are capable of handling undesired events that occur within the dynamic network.
2. Background
As used herein, a “network” may be comprised of two or more nodes that may be capable of collecting and storing data, performing computation tasks and communicating with each other using communications links. In a network, one node may be capable of communicating with another node using a direct communications link between the two nodes. However, in some instances, one node may communicate with another node indirectly using neighbor-to-neighbor routing through one or more nodes and communications links.
A node, which may be referred to as a “communications node” in some cases, may take a number of different forms. For example, a node may take the form of a wireless communications device, a sensor device, a computer system, a robotic vehicle, a radio frequency identification tag, a global positioning system unit, a nondestructive inspection system, a cellular phone, a tablet, a switch, a router, or some other type of device capable of communicating with another device. Further, a node may be capable of establishing wireless, wired, optical, and/or other types of communications links.
Typically, a node in a network may be in communication with at least one other node in the network. A dynamic network, as used herein, may be a network in which a number of factors about the network may change over time. These factors may include, for example, without limitation, a size of the network, a number of nodes in the network, and/or other types of factors. Examples of dynamic networks may include, but are not limited to, sensor networks, social networks, cyber-attack botnets, a publisher and subscriber network, a health monitoring system, a cloud server network, a distributed data storage system, and other types of networked systems.
Oftentimes, data analysis may be performed using data compiled from various nodes in a dynamic network. For example, a node in a dynamic network or a node that has just joined the dynamic network may send a query request to other nodes in the network to collect response data from these nodes. The node that sent the query request may combine the data and perform analysis of the data as the response data is received in response to the original query request.
However, performing this type of data analysis within a dynamic network may be more difficult than desired due to a number of unknown factors related to the dynamic network. These unknown factors may include, for example, without limitation, the size of the dynamic network at a given point in time, the number of nodes participating in the dynamic network at a given point in time, the number of nodes unable to participate in responding to a request, the number of concurrent query requests being processed within the dynamic network at a given point in time, and/or other types of factors.
Further, in some situations, undesired events may occur within a dynamic network. For example, a node in a network may become unable to receive and/or respond to query requests. In another example, the communications link between two nodes may become inactive or unusable. These undesired events may affect the manner in which data analysis may be performed within a network. Therefore, it would be desirable to have a method and apparatus that take into account at least some of the issues discussed above, as well as other possible issues.